package org.farec.tcc.spring.controller;

import java.text.ParseException;

import javax.servlet.http.HttpServletRequest;

import org.farec.tcc.dao.FabricanteDao;
import org.farec.tcc.modelo.Fabricante;
import org.hibernate.Session;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class FabricanteController {
	
	@RequestMapping("/formFabricante")
	public String formFabricante()
	{
		return "cadfabricante";
	}
		
	@RequestMapping("/adicionarFabricante")
	public String adiciona(Fabricante fabricante, HttpServletRequest request) throws ParseException
	{
		Session session = (Session) request.getAttribute("session");
		FabricanteDao daoFabricante = new FabricanteDao(session);	
		daoFabricante.adiciona(fabricante);
		return "redirect:listaFabricante";
	}
	
	@RequestMapping("/listaFabricante")
	public String lista(Model model, HttpServletRequest request)
	{
		Session session = (Session) request.getAttribute("session");
		FabricanteDao daoFabricante = new FabricanteDao(session);	
		model.addAttribute("fabricantes", daoFabricante.lista());
		return "fabricante";
	}
	
	@RequestMapping("/exibeFabricante")
	public String exibe(Fabricante fabricante, Model model, HttpServletRequest request)
	{
		Session session = (Session) request.getAttribute("session");
		FabricanteDao daoFabricante = new FabricanteDao(session);
		model.addAttribute("fabricante", daoFabricante.exibe(fabricante));
		return "editfabricante";
	}
	
	@RequestMapping("/alterarFabricante")
	public String altera(Fabricante fabricante, HttpServletRequest request) throws ParseException
	{
		Session session = (Session) request.getAttribute("session");
		FabricanteDao daoFabricante = new FabricanteDao(session);	
		daoFabricante.altera(fabricante);
		return "redirect:listaFabricante";
	}
	
	@RequestMapping("/removeFabricante")
	public String remover(Fabricante fabricante, HttpServletRequest request)
	{
		Session session = (Session) request.getAttribute("session");
		FabricanteDao daoFabricante = new FabricanteDao(session);	
		daoFabricante.remover(fabricante);
		return "redirect:listaFabricante";
	}

}
